home *** CD-ROM | disk | FTP | other *** search
- INCLUDE UTIL.INC
-
- ASSUME CS:COUNTC,DS:COUNTC,ES:COUNTC,SS:COUNTC
- COUNTC SEGMENT PARA PUBLIC 'CODE'
-
- ORG 100H
- COUNT: XOR BX,BX
- MOV CL,BYTE PTR [BX].UPA
- XOR CH,CH
- LEA DI,[BX+1].UPA
- SCANPARAM DX,ERROR1
- SCANPARAM BX,CNT1
- JMP ERROR1
- CNT1: XOR AL,AL
- MOV AH,3DH
- INT 21H
- JC ERROR
- MOV BX,AX
- CALL COUNTUP
- NORMALTERM
- ERROR1: MOV AX,19
- ERRORTERM
-
-
- ASSUME CS:COUNTC,DS:COUNTC,ES:COUNTC,SS:COUNTC
- COUNTUP:
- MOV DX,OFFSET BUFFER
- CNT2: MOV CX,4096
- MOV AH,3FH
- INT 21H
- JNC CNT5
- JMP ERROR
- CNT5: ADD LOCCNT,AX
- ADC HICCNT,0
- MOV CX,AX
- MOV SI,AX
- MOV DI,OFFSET BUFFER
- MOV AL,13
- CNT3: REPNE SCASB
- JCXZ CNT4
- INC LOLCNT
- JMP CNT3
- CNT4: CMP SI,4096
- JE CNT2
- MOV BX,01H
- MOV DX,OFFSET BLANKS
- CALL FWRITESTR
- MOV AX,LOLCNT
- CALL FWRITEINT
- MOV DX,OFFSET BLANKS
- CALL FWRITESTR
- MOV AX,LOCCNT
- CALL FWRITEINT
- CALL FWRITELN
- RET
-
- MWRITESTR
- MWRITEINT
- MWRITELN
-
- EVEN
- LOCCNT DW 0
- HICCNT DW 0
- LOWCNT DW 0
- LOLCNT DW 0
-
- BLANKS DB ' ',0
- BUFFER DB
-
- COUNTC ENDS
- END COUNT